package com.yanti.domain.dto.user;

import com.yanti.common.validator.PhoneNumber;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class UserLoginReqDTO {

    /**
     * 手机号
     */
    @NotBlank(message = "手机号不能为空")
    @PhoneNumber
    private String phone;

    /**
     * 验证码
     */
    private String code;

    /**
     * 密码
     */
    // 密码格式校验，长度在6-16位之间，且只能包含数字和字母或者是特殊字符
    private String password;

    /**
     * 登录类型：手机号验证码，或者是账号密码
     * 验证码登录，为1，密码登录，为2
     */
    @NotNull(message = "登录类型不能为空")
    private Integer type;
}